#include "TopWidget.h"
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QLabel>
#include <QPushButton>

TopWidget::TopWidget(QWidget *parent) : QWidget(parent) {
    // 容器组件
    QWidget *container = new QWidget(this);
    container->setObjectName("topContainer");  // 设置QSS选择器标识

    // 主布局设置
    m_layout = new QHBoxLayout(container);
    m_layout->setContentsMargins(20, 0, 20, 0); // 增加水平边距
    m_layout->setSpacing(15);                   // 增大控件间距

    // 标题标签
    m_titleLabel = new QLabel("卫星数据", container);
    m_titleLabel->setObjectName("titleLabel");
    m_layout->addWidget(m_titleLabel);

    // 伸缩项
    m_layout->addStretch();

    // 主布局
    QVBoxLayout *mainLayout = new QVBoxLayout(this);
    mainLayout->setContentsMargins(0, 0, 0, 0);
    mainLayout->addWidget(container);

    // 固定高度
    setFixedHeight(70);  // 稍微增加高度
}

void TopWidget::setTitle(const QString &text) {
    m_titleLabel->setText(text);
}

void TopWidget::addActionButton(const QString &text, ICommand *command) {
    QPushButton *btn = new QPushButton(text, this);
    btn->setProperty("type", "action");  // 用于QSS特殊样式
    
    connect(btn, &QPushButton::clicked, [command]() {
        command->execute();
    });

    m_layout->addWidget(btn);
}